package com.dsg.entity.system;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 系统文件存储表
 * </p>
 *
 * @author system
 * @since 2020-07-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "DsgSysFile对象", description = "系统文件存储表")
public class DsgSysFile implements Serializable {

    private static final long serialVersionUID = 1L;

    /** 信用咭授權書 */
    public static final String ENCL_TYPE_3 = "3";
    /** 第三者信用卡授權書 */
    public static final String ENCL_TYPE_4 = "4";
    /** 銀行月結單 */
    public static final String ENCL_TYPE_11 = "11";
    /** 第三者信用卡授權書 */
    public static final String ENCL_TYPE_12 = "12";
    /** 持有人身份證/BR */
    public static final String ENCL_TYPE_13 = "13";
    /** 直接付款授權書 */
    public static final String ENCL_TYPE_14 = "14";

    /** 取消卡申請表 */
    public static final String ENCL_TYPE_10 = "10";

    @ApiModelProperty(value = "主鍵")
    @TableId("OID")
    private String oid;

    @ApiModelProperty(value = "图片BASE64")
    @TableField(exist = false)
    private String base64;

    @ApiModelProperty(value = "外键")
    @TableField("REL_ID")
    private String relId;

    @ApiModelProperty(value = "文件类型")
    @TableField("FILE_TYPE")
    private String fileType;

    @ApiModelProperty(value = "文件内容")
    @TableField("FILE_CONTENT")
    private byte[] fileContent;

    /**
     * 企業編號
     */
    @TableField(value = "ENT_CODE")
    @ApiModelProperty(value = "企業編號", name = "entCode")
    private String entCode;

    /**
     * 创建人
     */
    @TableField(value = "CREATER")
    @ApiModelProperty(value = "创建人", name = "creater")
    private String creater;

    /**
     * 创建时间
     */
    @TableField(value = "CREATE_TIME")
    @ApiModelProperty(value = "创建时间", name = "createTime")
    private Date createTime;

    /**
     * 更新人
     */
    @TableField(value = "UPDATER")
    @ApiModelProperty(value = "更新人", name = "updater")
    private String updater;

    /**
     * 更新时间
     */
    @TableField(value = "UPDATE_TIME")
    @ApiModelProperty(value = "更新时间", name = "updateTime")
    private Date updateTime;

    @ApiModelProperty(value = "申请单号")
    @TableField("APP_NO")
    private String appNo;

    @ApiModelProperty(value = "附件类型")
    @TableField("ENCL_TYPE")
    private String enclType;
}
